inspector: Show scales other than 2
authorMatthias Clasen <mclasen@redhat.com>
Mon, 13 Apr 2020 13:17:46 +0000 (09:17 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 13 Apr 2020 13:17:46 +0000 (09:17 -0400)
We were hardcoding that monitor scales can only be
1 or 2. Not true.

gtk/inspector/general.c

index 2d3e0ef001b7288b6ed19f276dcadbf96bb16a32..1f50020bfc2601f09c3b7e509ed554fe7ccf14b6 100644 (file)
@@ -549,6 +549,7 @@ populate_display (GdkDisplay *display, GtkInspectorGeneral *gen)
       gchar *value;
       GdkRectangle rect;
       gint scale;
+      char *scale_str = NULL;
       const char *manufacturer;
       const char *model;
       GdkMonitor *monitor;
@@ -568,13 +569,16 @@ populate_display (GdkDisplay *display, GtkInspectorGeneral *gen)
 
       gdk_monitor_get_geometry (monitor, &rect);
       scale = gdk_monitor_get_scale_factor (monitor);
+      if (scale != 1)
+        scale_str = g_strdup_printf (" @ %d", scale);
 
       value = g_strdup_printf ("%d × %d%s at %d, %d",
                                rect.width, rect.height,
-                               scale == 2 ? " @ 2" : "",
+                               scale_str ? scale_str : "",
                                rect.x, rect.y);
       add_label_row (gen, list, "Geometry", value, 10);
       g_free (value);
+      g_free (scale_str);
 
       value = g_strdup_printf ("%d × %d mm²",
                                gdk_monitor_get_width_mm (monitor),